(計実) 第3回課題
今回の課題は3つある.それぞれの課題に対して,実際にコマンドを使って確認しながら回答しなさい.
課題への回答はすべて1つの回答用ファイルに記入しなさい.
回答用ファイル: Unix_Lesson03.txt
ファイル編集にはUnixのエディタ (nano/vi) を使いなさい.Win/Macのアプリは使わない.
※ファイル先頭に学籍番号・氏名を記入しておくこと
※各設問は番号の羅列ではなくタイトルをつけること
◆課題03-1:ディレクトリと保護モード
保護モードに関して,次の問題に答えなさい.
※この問題には前回のディレクトリの学習内容も含んでいる.
今,あるディレクトリで,ls -la を実行したときに以下のように表示されたと仮定する.(あなたのディレクトリではない)
code:あるディレクトリのls表示
drwxr-xr-x 6 y230999 y230999 1424 4月 25 17:22 .
drwxr-xr-x 59 root root 944 6月 10 11:45 ..
-rw-r--r-- 1 y230999 y230999 1785 6月 30 12:22 .cshrc
-rwxrwxr-x 1 y230999 y230999 375 6月 16 14:31 .login
-rw-r--r-- 1 y230999 y230999 109270 6月 7 15:08 .roes_log
drwx------ 2 y230999 y230999 224 6月 21 02:21 ANSWER
-rwxr-xr-- 1 y230999 y230999 743 6月 8 14:54 7.7.c
ここで以下の問に答えなさい.
a.上のリストではカレントディレクトリ名が分からない.カレントディレクトリ名を知るにはどうしたらいいか.
b.あるパス名が与えられたとき,それが絶対パス名か相対パス名かを判断する方法は何か.
c.上 ( "ls -la"の結果 ) で表示されているファイルのうち,ディレクトリはどれか. また,その判断の理由は何か.
d.最初の2行の行末の文字 '.' と '..' は何を表しているか.
e.上の表示の最下行に注目する.下の ( A ) , ( B ) , ( C ) , ( D ) , ( E ) , ( F ) は何を表しているか.
ただし,( A ) については, −rwxr−xr−− の10個の文字のそれぞれ1つずつの意味を書きなさい.
code:ls表示最下行
-rwxr-xr-- 1 y230999 y230999 743 6月 8 14:54 7.7.c
└──────────┘ └──────┘ └───────┘ └─┘ └──────────┘ └────┘
( A ) ( B ) ( C ) ( D ) ( E ) ( F )
( A ) の回答の書き方の例 ( ヒント ) :
ls表示の属性について考え,以下のような答え方をする.
code:ls表示例
- r w x r - x r - -
(0)(1)(2)(3)(4)(5)(6)(7)(8)(9)
( 0 ) は,7.7.c が,○○であることを示している.
( 1 ) は,ファイルの所有者が,このファイルを△△ことを示している.
:
( 4 ) は,ファイルのグループに属す人が,このファイルを□□ことを示している.
:
( 7 ) は,一般ユーザーが,このファイルを☆☆ことを示している.
:
※ ( B ) 以降についても「……であることを示している」という答え方をするとよい.
【回答】
問a.~e.について,すべて簡単な文または単語で回答しなさい.
◆課題03-2: 保護モードの確認
以下は前回((計実) 第2回課題)の続きである.必要に応じて実際に操作, 確認しながら以下の質問に答えなさい. ※特に指定がない限り,$HOMEからの相対パスで実行するものとする.
※"$HOME" = ホームディレクトリ
【準備】
ここでは前回の◆課題02-3で作った workfile_copy1 というファイルを操作する.
まず,課題の準備として,下記のディレクトリとファイルの 保護モードを以下のように設定 ( 変更 ) しなさい.
◆ディレクトリ: Report
一般ユーザーとグループ参加者は,何も権限がない
所有者は,ファイルリストを読む権限,ファイルを作成する権限, 削除する権限および,ディレクトリに移動する権限がある
◆ディレクトリ: Work
一般ユーザーとグループ参加者は,ファイルリストを読む権限だけがある
所有者は,ファイルリストを読む権限,ファイルを作成する権限, 削除する権限および,ディレクトリに移動する権限がある
◆Work 直下の ディレクトリ: d1, d2, d3...., d8
一般ユーザーは,何も権限がない
グループ参加者は,ファイルリストを読む権限だけがある
所有者は,ファイルリストを読む権限,ファイルを作成する権限, 削除する権限および,ディレクトリに移動する権限がある
◆Work 直下のファイル: workfile1 ~ workfile6
一般ユーザーとグループ参加者は,何も権限がない
所有者は,ファイルの内容を読む権限, ファイルに書き込む権限があるが, ファイルを実行する権限はない ( 実行型ファイルではないので実行する権限を設定しない )
【問題】
※ 以下の質問で保護モードの設定・変更のコマンド引数は「8進数表記」「記号表示」どちらを使っても構わない.
a.上の準備で,Report, Work ディレクトリの 保護モードを一行で確認する コマンドと,その結果を示しなさい.
b-1.上の準備で,workfile1 ~ workfile6 に対して ★1回のコマンド実行で★ 保護モードを設定するコマンドを示しなさい.
b-2.また,保護モードを確認するコマンドとその結果を示しなさい.
c.ファイル"workfile_copy1" の保護モードを調べるコマンドとその結果を 示し,結果を解説しなさい.
d-1."workfile_copy1" をあなた自身が 読めなくなる ようにするコマンドを示し,実際に変更しなさい.
d-2.また,読めなくなったことを確かめるコマンドとその結果を示しなさい.
e-1.さらにこのファイルに対し,あなた自身が 書き込めないようにするコマンドを示し,実際に変更しなさい.
e-2.また,書き込めなくなったことを確かめるコマンドとその結果を示しなさい.
f-1."workfile_copy1" の保護モードを 問c.以前 の状態に戻すコマンドを示し, 実際に変更しなさい.
f-2.また,それを確認するコマンドとその結果を示しなさい.
【回答】
問a.~f.について,「コマンド」と「結果」に分けて両方を答えなさい.
※一部,コマンドだけという問いもあるので適宜正しい回答を考えなさい.
code:例
d-1."workfile_copy1"をあなた自身が 読めなくなくする.
コマンド:
xxxxx xxxx xxx
d-2.読めなくなったことを確かめる.
コマンド:
xxxxxx
結果:
xxxxxxx xxxxx xxxxxxx
◆課題03-3:パイプとリダイレクション
次のコマンド例は,パイプとリダイレクションを組み合わせたものである.
$ sort -n -r -t , -k 3 < In_file | head -n 5 > Out_file
※In_file というファイルは仮に存在するものとする
※'$' はプロンプト記号.コマンドではない
【問題】
このとき,In_file に対して,この1行コマンドがどのような動作をするかを説明しなさい.
※コマンドやオプションの詳しくは man page でも web でも調べてよい
★ヒント★
実際にやってみるために,サンプルデータを用意した.
このデータを Unix 側にコピーして利用する.
※やり方: (わかってる人は飛ばしてOK)
1. 上のノートに示されたデータをコピーする
※ファイル名 右側のコピーアイコンをクリック
https://gyazo.com/d2a93fa34697a0853fdbd62709a54f97
2. ターミナルで空のファイルを作成する.ファイル名は
sample.dat としよう.
3. エディタで sample.dat を開き,コピーバッファを貼り付ける.
※参考:エディタなしで同じことをやる方法▼▼
cat > sample.dat → バッファ貼り付け → Ctrl+D
4. sample.dat がちゃんとできたかを確認する.
このサンプルファイルに対して上の1行コマンドを実行すると,どうなるのかを確認しなさい.
※ 応用が効かない人へ:In_file を sample.dat に読み替えて実行
★サンプルデータはあくまでも動作確認.この結果は回答に書かなくてもよい.
そして,その結果から 「この1行コマンドはどういう動作をするのか」を考えなさい.
【回答】
提示された1行コマンドがどういう動作をするのかを文章で書きなさい.
※応用が効かない人へ:1行コマンドだからといって説明も一文で書かなくてもよい
★この続きは次回の課題として提示する.
【提出方法】
( 1 ) 上記 課題03-1~課題03-3 の回答を,Unix_Lesson03.txtとして,レポートディレクトリ ( Report ) に保存する.
※今回から,Windows/MacOSのGUIエディタは使わない.すべてUnixのエディタ (nano/vi) を使う.
Win/Macデスクトップのフォルダには保存しない
( 2 ) Unix_Lesson03.txtの内容をコピーし,manabaレポートの入力画面にテキストとして貼り付ける.(ファイル提出ではない.)
※貼り付けてからの編集も可能.ただし元のUnix_Lesson03.txt から大きく書き換えるなら,元を書き換えてからコピペするべき
※提出の際には「提出」ボタンを押し忘れないこと
( 3 ) レポートにおいて,各課題にはタイトルをつけて分かりやすくすること.
※課題番号だけは✗.課題内容が分かるようにすること
提出場所 (1): レポートディレクトリ ( Report )
ファイル名: Unix_Lesson03.txt
提出場所 (2): manaba「情報基礎 U43Y314」
→ レポート「計算機実習1第3回レポート」
提出期限:次回の授業開始 (13:30)
※時間は厳守.manabaの設定によりに受付は自動終了する.
以上.
2023/6/29 by Kobori Satoshi, Fujii Daisuke